package com.ykht.proj.coupon.vo;

import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.HashMap;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "店铺表")
public class CnShopVo extends Model<CnShopVo> {

	/**
	 *
	 */
	@TableId
	@ApiModelProperty(value="")
	private Long id;
	/**
	 * 公司Id
	 */
	@ApiModelProperty(value="公司Id")
	private Long companyId;
	@ApiModelProperty(value="公司名称")
	private String companyName;
	@ApiModelProperty(value="登录人的名称")
	private String loginName="";
	/**
	 * 品牌Id
	 */
	@ApiModelProperty(value="品牌Id")
	private Long brandId;
	/**
	 * 品牌Ids
	 */
	@ApiModelProperty(value="品牌Ids")
	private String brandIds;
	/**
	 * 品牌名称
	 */
	@ApiModelProperty(value="品牌名称")
	private String brandName;
	/**
	 * 登录人Id
	 */
	@ApiModelProperty(value="登录人Id")
	private Long loginId;
	/**
	 * 店铺名称
	 */
	@ApiModelProperty(value="店铺名称")
	private String name;
	/**
	 * 省id
	 */
	@ApiModelProperty(value="省id")
	private Integer provinceId;
	/**
	 * 省名称
	 */
	@ApiModelProperty(value="省名称")
	private String provinceName;
	/**
	 * 城市id
	 */
	@ApiModelProperty(value="城市id")
	private Integer cityId;
	/**
	 * 城市名称
	 */
	@ApiModelProperty(value="城市名称")
	private String cityName;
	/**
	 * 区域id
	 */
	@ApiModelProperty(value="区域id")
	private Integer areaId;
	/**
	 * 区域名称
	 */
	@ApiModelProperty(value="区域名称")
	private String areaName;
	/**
	 * 店铺地址
	 */
	@ApiModelProperty(value="店铺地址")
	private String address;
	/**
	 * 商圈
	 */
	@ApiModelProperty(value="商圈")
	private String tradeArea;
	/**
	 * 店铺联系人
	 */
	@ApiModelProperty(value="店铺联系人")
	private String contacts;
	/**
	 * 店铺电话
	 */
	@ApiModelProperty(value="店铺电话")
	private String phone;
	/**
	 * 店铺Logo
	 */
	@ApiModelProperty(value="店铺Logo")
	private String shopLogo;
	/**
	 * 底图url
	 */
	@ApiModelProperty(value="底图0url")
	private String backgroundUrl;
	@ApiModelProperty(value="視頻url")
	private String videoUrl;
	/**
	 * 营业开始时间
	 */
	@ApiModelProperty(value="营业开始时间")
	private LocalTime businessStaTime;
	/**
	 * 营业结束时间
	 */
	@ApiModelProperty(value="营业结束时间")
	private LocalTime businessEndTime;

	@ApiModelProperty(value="人均消费")
	private BigDecimal averageCons;
	/**
	 * 经度
	 */
	@ApiModelProperty(value="经度")
	private String longitude;
	/**
	 * 纬度
	 */
	@ApiModelProperty(value="纬度")
	private String latitude;
	/**
	 * 是否展示0是1否
	 */
	@ApiModelProperty(value="是否展示0是1否")
	private Integer display;
	/**
	 * 店铺简介
	 */
	@ApiModelProperty(value="店铺简介")
	private String shopRemarks;
	/**
	 * 创建人
	 */
	@ApiModelProperty(value="创建人")
	private Long createUser;
	/**
	 * 修改人
	 */
	@ApiModelProperty(value="修改人")
	private Long updateUser;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value="创建时间")
	private LocalDateTime createTime;
	/**
	 * 更新时间
	 */
	@ApiModelProperty(value="更新时间")
	private LocalDateTime updateTime;
	/**
	 * 0可用1删除
	 */
	@ApiModelProperty(value="0可用1删除")
	private Integer delFlag;
	/**
	 * 租户ID
	 */
	@ApiModelProperty(value="租户ID",hidden=true)
	private Integer tenantId;

	@ApiModelProperty(value="品牌logo")
	private String logoUrl;
	@ApiModelProperty(value = "用户名")
	private String username;
	@ApiModelProperty(value = "用户id")
	private Integer userId;


	@ApiModelProperty(value = "密码")
	private String password;

	@ApiModelProperty(value = "父级ID（根据user_type去判断是品牌的还是门店的）")
	private Long parentId;

	@ApiModelProperty(value = "用户类型: 0系统管理员1公司2品牌3门店 4 服务员5客户公司")
	private	Integer userType;

	@ApiModelProperty(value = "手机号")
	private String userPhone;

	@ApiModelProperty(value = "wx昵称")
	private String nickName;

	private JSONObject map;
	@ApiModelProperty(value="账户余额")
	private BigDecimal remainingSum = new BigDecimal(0);

	/**
	 * 下架时间
	 */
	@ApiModelProperty(value="下架时间")
	private LocalDateTime offTime;

	/**
	 * 下架时间
	 */
	@ApiModelProperty(value="上架时间")
	private LocalDateTime onTime;

	@ApiModelProperty(value="合同开始时间")
	private LocalDateTime contractStartTime;

	@ApiModelProperty(value="合同结束时间")
	private LocalDateTime contractEndTime;

	@ApiModelProperty(value="标签名称",hidden=true)
	private String labelName;

	@ApiModelProperty("距离")
	private Long distance;

	@ApiModelProperty("优惠个数")
	private Integer couponCount=0;
	@ApiModelProperty("领取个数")
	private Integer lqCount=0;

	@ApiModelProperty("品牌通用券个数")
	private Integer tyCouponCount=0;
}
